package org.jeecg.modules.wmhb.service;

import org.jeecg.modules.wmhb.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @Description: 物料产品BOM表
 * @Author: jeecg-boot
 * @Date:   2024-08-31
 * @Version: V1.0
 */
public interface IWmProductBomService extends IService<WmProductBom> {
    /**
     *通过批次号设置产品状态
     */
    public void setConfirmByBatchNo(String batchNo);

    /**
     * 导入采购BOM
     * @param purchaseBom
     * @param wmTaskParent
     * @param wmItemImport
     */
    public void importWmPurchaseTaskbookBom(PurchaseBom purchaseBom, WmTask wmTaskParent, WmItem wmItemImport);

    /**
     * 导入组件BOM
     * @param bomNode
     * @param wmItemParent
     * @param wmItemImport
     */
    public void importComponentBom(BOMNode bomNode, WmItem wmItemParent, WmItem wmItemImport);

    /**
     * 新增任务时新增产品BOM
     * @param wmItem
     * @param taskParent
     * @param wmTask
     */
    public WmProductBom saveItemWhenAddTask(WmItem wmItem, WmTask taskParent, WmTask wmTask);

    /**
     * 导入合同产品
     * @param quantity
     * @param wmItemParent
     * @param wmItemImport
     */
    public void importContractProductBom(Double quantity, WmItem wmItemParent, WmItem wmItemImport);

    /**
     * 通过产品ID查询BOM清单
     * @param wmItemId
     * @return
     */
    public List<WmProductBom> queryChildrenByWmItemId(String wmItemId);
}
